package com.project.server.domain.estates;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.project.common.annotation.Excel;
import com.project.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 物业管理运维任务对象 t_estates_task
 *
 * @author project
 * @date 2021-06-28
 */
public class TEstatesTask extends BaseEntity {

    private static final long serialVersionUID = 6871220292627168014L;

    /**
     * 任务编号
     */
    private Long taskId;

    /**
     * 指派人id
     */
    private Long userId;

    /**
     * 指派人
     */
    @Excel(name = "指派人")
    private String assignor;

    /**
     * 任务地点
     */
    @Excel(name = "任务地点")
    private String taskAddress;

    /**
     * 任务内容
     */
    @Excel(name = "任务内容")
    private String taskContent;

    /**
     * 预估完成时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
    @Excel(name = "预估完成时间", width = 30, dateFormat = "yyyy-MM-dd  HH:mm")
    private Date completeTime;

    /**
     * 完成状态（0完成 1进行中 2未完成）
     */
    @Excel(name = "完成状态", readConverterExp = "0=完成,1=进行中,2=未完成")
    private String completeStatus;

    /**
     * 删除标志（0代表存在 2代表删除）
     */
    private String delFlag;

    public void setTaskId(Long taskId) {
        this.taskId = taskId;
    }

    public Long getTaskId() {
        return taskId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public Long getUserId() {
        return userId;
    }

    public void setAssignor(String assignor) {
        this.assignor = assignor;
    }

    public String getAssignor() {
        return assignor;
    }

    public void setTaskAddress(String taskAddress) {
        this.taskAddress = taskAddress;
    }

    public String getTaskAddress() {
        return taskAddress;
    }

    public void setTaskContent(String taskContent) {
        this.taskContent = taskContent;
    }

    public String getTaskContent() {
        return taskContent;
    }

    public void setCompleteTime(Date completeTime) {
        this.completeTime = completeTime;
    }

    public Date getCompleteTime() {
        return completeTime;
    }

    public void setCompleteStatus(String completeStatus) {
        this.completeStatus = completeStatus;
    }

    public String getCompleteStatus() {
        return completeStatus;
    }

    public void setDelFlag(String delFlag) {
        this.delFlag = delFlag;
    }

    public String getDelFlag() {
        return delFlag;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("taskId", getTaskId())
                .append("userId", getUserId())
                .append("assignor", getAssignor())
                .append("taskAddress", getTaskAddress())
                .append("taskContent", getTaskContent())
                .append("completeTime", getCompleteTime())
                .append("completeStatus", getCompleteStatus())
                .append("delFlag", getDelFlag())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .append("remark", getRemark())
                .toString();
    }
}
